<%@ page language="java" contentType="text/html; charset=US-ASCII"
	pageEncoding="US-ASCII"%>
<%@ page import="java.util.*"%>
<%@ page import="fr.esgi.classes.Promotion"%>
<%@ page import="fr.esgi.classes.Personne"%>
<%@ page import="fr.esgi.donnees.Database"%>
<%
	 ArrayList <Promotion> listPromotion;
	ArrayList <String> listPromo;
	ArrayList <Personne> list;    
	Database d=new Database();
	listPromo=d.afficherPromo();
	  listPromotion=d.afficherPromotion();
	  list=d.afficherProfesseur();
	  %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Groupe crée aleatoirement</title>
<script language="JavaScript" type="text/javascript">
			function griser() {
			var Obj = document.getElementById('groupe'); 
			Obj.innerHTML = "";
				var selectElmt = document.getElementById("promotion");
				var test=selectElmt.options[selectElmt.selectedIndex].value;
				var colPromotion=new Array();
 				var colGroupe=new Array();
   				
 						<%for (int i=0; i<listPromotion.size(); i++) {%>   
   						colPromotion[<%=i%>] = "<%=listPromotion.get(i).getAnneeSpecialite()%>";   
 						colGroupe[<%=i%>] = "<%=listPromotion.get(i).getGroupe()%>";
<%}%>
				

				for(var j=0; j < colPromotion.length; j++) {
				if (test == colPromotion[j]) {
					var opt = document.createElement("option");
			        document.getElementById("groupe").options.add(opt);
			        opt.text = colGroupe[j];
			        opt.value =colGroupe[j];
					}


		}
   					
	}
</script>
<script language="JavaScript" type="text/javascript">
		
function cloneEtVide(ligne, idChamps, ligneNum) {
		newLigne = ligne.cloneNode(true);
		var mesInput = newLigne.getElementsByTagName('INPUT');
		var mesTextarea = newLigne.getElementsByTagName('textarea');
		for (i = 0; i <= mesInput.length - 1; i++) {
			if (mesInput[i].type == 'text')
				mesInput[i].value = "";
		}
		for (i = 0; i <= mesTextarea.length - 1; i++) {
			mesTextarea[i].innerHTML = "";
		}

		//On fait les remplacements
		var reg = new RegExp(idChamps + '_' + ligneNum, 'g');
		var reg2 = new RegExp('\'' + idChamps + '\',\'' + ligneNum + '\'', 'g');
		var nbLignesActuellement = ligne.parentNode.rows.length;
		var newLigneNum = nbLignesActuellement + 1;
		var tds = newLigne.getElementsByTagName('td');
		for (i = 0; i < tds.length; i++) {
			tds[i].innerHTML = tds[i].innerHTML.replace(reg, idChamps + '_'
					+ newLigneNum); 
			tds[i].innerHTML = tds[i].innerHTML.replace(reg2, '\'' + idChamps
					+ '\',\'' + newLigneNum + '\''); 
		}
		ligne.parentNode.appendChild(newLigne);

	}
	function comparetoDate(sdate1, sdate2) {
		var date1 = new Date();
		date1.setFullYear(sdate1.substr(6, 4));
		date1.setMonth(sdate1.substr(3, 2));
		date1.setDate(sdate1.substr(0, 2));
		date1.setHours(0);
		date1.setMinutes(0);
		date1.setSeconds(0);
		date1.setMilliseconds(0);
		var d1 = date1.getTime()

		var date2 = new Date();
		date2.setFullYear(sdate2.substr(6, 4));
		date2.setMonth(sdate2.substr(3, 2));
		date2.setDate(sdate2.substr(0, 2));
		date2.setHours(0);
		date2.setMinutes(0);
		date2.setSeconds(0);
		date2.setMilliseconds(0);
		var d2 = date2.getTime();
		if (d1 > d2) {
			return false;
		} else {
			return true;
		}
	}
	function affichage() {
		
		var tableau = document.getElementsByTagName("input");
		var tableau2 = document.getElementsByTagName("textarea");
		var typeClass;
		var tabNom = new Array();
		var tabDescription = new Array();
		var tabDate = new Array();
		var cpt = 0;
		
		for ( var i = 0; i < tableau2.length; i++) {
			typeClass = tableau2[i].getAttribute("class");
 			if (typeClass != null) {
 				if (typeClass == "descriptionEtape") {
					tabDescription[cpt]=tableau2[i].value;
 					cpt++;
 				}
 			}
		}
		cpt=0
 		for ( var i = 0; i < tableau.length; i++) {
  			typeClass = tableau[i].getAttribute("class");
  			if (typeClass != null) {

  				if (typeClass == "nomEtape") {

  					tabNom[cpt] = tableau[i].value;

  				} else if (typeClass == "calendrier") {
  					tabDate[cpt] = tableau[i].value;
  					cpt++;
  				}
  			}

  		}
 		
 		var erreur = true;
 		var j = 0;
 		while (j < tabNom.length && erreur == true) {
 			if (tabNom[j] == "" || tabDate[j] == ""||tabDescription[j]=="") {
 				erreur = false;
 				alert("un des champs est vide");
 			} else if (j>=1) {
 				if (!comparetoDate(tabDate[j-1],tabDate[j])){
 	 				 erreur = false;
 	 				alert("erreur dans les dates");
 				}					
 			}
 		j++;
 	}

		
	if (erreur == true) {
			var nom="";
			var description="";
 			var date="";
 			for ( var z = 0;z<tabNom.length; z++) {
				nom+= tabNom[z]+";";
				description+=tabDescription[z]+";";
				date +=tabDate[z]+";";
 			}
 		 	
			document.getElementById('livrableNom').value=nom;
 			document.getElementById('livrableDescription').value=description;
 			document.getElementById('livrableDate').value=date;
 			document.ValidationProjet.submit();
		}
	}
	function supprLigne(ligne, idChamps) {
		if (ligne.parentNode.rows.length >= 3) {
			document.getElementById('test').style.display = '';
			var nbLignesActuellement = ligne.parentNode.rows.length;
			var ligneNum = ligne.rowIndex + 1;
			ligne.parentNode.removeChild(ligne);
			var trs = document.getElementById('table').getElementsByTagName(
					'tr');
			for ( var i = ligneNum - 1; i < trs.length; i++) {
				var indice = trs[i].rowIndex + 2; 
				var newIndice = indice - 1;
				var reg = new RegExp(idChamps + '_' + indice, 'g');
				var reg2 = new RegExp(
						'\'' + idChamps + '\',\'' + indice + '\'', 'g');
				var tds = trs[i].getElementsByTagName('td');
				for ( var j = 0; j < tds.length; j++) {
					tds[j].innerHTML = tds[j].innerHTML.replace(reg, idChamps
							+ '_' + newIndice); 
					tds[j].innerHTML = tds[j].innerHTML.replace(reg2, '\''
							+ idChamps + '\',\'' + newIndice + '\''); 
				}
			}
			document.getElementById('test').style.display = 'none';
		} else
			alert("Impossible de supprimer la derniere ligne");
	}
</script>
<%@ include file="/jsp/design/header.jsp"%>
            <%@ include file="/jsp/design/menu.jsp"%>
            </div>  
          <div class="bd"> 
            <div id="page"> 
           
              <!-- MAIN COLUMN -->  
              <div id="main"> 
                <div class="content"> 
                  <h1>Bienvenue !</h1>  
                  <body>
	<p>Remplissez le formulaire suivant :</p>
	<form action="ValidationProjet" method="post" name="ValidationProjet">
		<%
					
						String erreur = (String) request.getAttribute("erreur");
						// Affichage du message s'il existe
						if (erreur != null) {
							out.println("<strong>Erreur :" + erreur + " </strong>");

						}
					%>
		<p>
			Nom de projet: <input type='text' id="name" name="name">
		</p>
		<p>
			Description du projet:
			<textarea name='description' rows='4' cols='40'"> </textarea>
		</p>
		<p>
			Promotion<select id="promotion" name="promotion" onchange="griser();">
				<%
								for (int i = 0; i < listPromo.size(); i++) {
							%>
				<option value="<%out.print(listPromo.get(i));%>">
					<%
									out.println(listPromo.get(i));
								%>
				</option>
				<%
								}
							%>

			</select> Groupe <select name="groupe" id="groupe">
				<%
								for (int i = 0; i < listPromotion.size(); i++) {
								if(listPromotion.get(0).getAnneeSpecialite().equals(listPromotion.get(i).getAnneeSpecialite())){
						%>
				<option value="<%out.print(listPromotion.get(i).getGroupe());%>">
					<%
									out.println(listPromotion.get(i).getGroupe());
								%>
				</option>
				<%
								}
							}
							%>
			</select>
		</p>
		<p>
			Constitution des groupes<br /> <input type="radio"
				name="constitution" value="aleatoire" checked /> Aleatoire <input
				type="radio" name="constitution" value="manuelle" /> Manuelle <input
				type="radio" name="constitution" value="libre" /> Libre
		</p>
		<p>
			Professeur responsable du projet <select name="professeur">
				<% for (int i = 0; i < list.size(); i++) { %>
				<option value="<%out.print(list.get(i).getUid());%>">
					<% out.println(list.get(i).getPrenom() + " "+ list.get(i).getNom());%>
				</option>
				<%
								}
							%>
			</select>
		</p>
		<p>
			Nombre d'eleves par groupes: <select name="nb" size="1">
				<option>1</option>
				<option>2</option>
				<option>3</option>
				<option>4</option>
				<option>5</option>
				<option>6</option>
				<option>7</option>
				<option>8</option>
				<option>9</option>
				<option>10</option>
			</select>
		</p>
		<p>

			<div id="test" class="test" style="display: none;"></div>
		<input type='hidden' name='livrableNom' id="livrableNom" /> <input
				type='hidden' name='livrableDescription' id="livrableDescription" />
			<input type='hidden' name='livrableDate' id="livrableDate" />
		<table id="tableau" border="1" cellspacing="0" cellpadding="0">
			<tr>
					<td>Nom de l'etape</td>
					<td>Description de l'etape</td>
					<td>Date limite de l'etape</td>
				</tr>
				<tr class="trSpe">
					<td>&nbsp;<input class="nomEtape" type="text" id="nomEtape"
					value="" name="nomEtape" title="nom" size="16" maxlength="64" /></td>
					<td>&nbsp;<textarea id="description" class="descriptionEtape"
						name="descriptionEtape" rows=2 cols=16></textarea></td>
					<td>&nbsp;<%@ include file="Calendrier.jsp"%></td>
					<td><input type="button" value="Nouvelle etape"
					onclick="cloneEtVide(this.parentNode.parentNode, 'nomEtape','1');" />
						<input type="button" value="Suppr." title="suppr"
					onclick="supprLigne(this.parentNode.parentNode, '');" /></td>
				</tr>

			</table>
			<input type="button" value="Valider" onclick="affichage();" />
		</p>
		
	</form>
</body>
<%@ include file="../design/footer.jsp" %>


